//package org.example;
//
//import org.slf4j.bridge.SLF4JBridgeHandler;
//
///**
// * Hello world!
// */
//public class Jdk_Log1 {
//
//    static {
//        //jul日志转为log4j2输出 http://logging.apache.org/log4j/log4j-2.6.1/log4j-jul/index.html
//        //实现原理：jul中Logger对象都是通过LogManager生成的,如果LogManger被log4j2中的LogManger替代了，不就可以完成jul日志转为Log4j2输出。
//        //jul中的LogManager是如何生成的？jul中的LogManager,是一个单例，在类的静态代码块中创建这个类的。创建时先判断System.getProperty("java.util.logging.manager")，是否有配置，如果有使用配置的，没有就直接创建LogManager。
//        //log4j2只需要提供一个继承LogManager的子类，我们在System.property中配置一下即可。
//
//        //配置log4j2提供的LogManger
//        System.setProperty("java.util.logging.manager", "org.apache.logging.log4j.jul.LogManager");
//    }
//
//    static {
//        //jul日志转为Slf4j输出 http://www.slf4j.org/api/org/slf4j/bridge/SLF4JBridgeHandler.html
//        //实现原理：jul日志打印靠的是日志打印Handler，这个Handler可以配置多个。要实现日志输入到Slf4j，只需要移除jul默认的Handler，添加Slf4j提供的Handler即可。
//
//        //移除jul默认的Handler
//        SLF4JBridgeHandler.removeHandlersForRootLogger();
//        //添加Slf4j提供的Handler
//        SLF4JBridgeHandler.install();
//    }
//    static {
//        System.setProperty("org.jboss.logging.provider", "slf4j");
//    }
//
//    private static java.util.logging.Logger julLog = java.util.logging.Logger.getLogger(Jdk_Log1.class.toString());
//    private static org.apache.logging.log4j.Logger log4j2Log = org.apache.logging.log4j.LogManager.getLogger(Jdk_Log1.class);
//    private static org.jboss.logging.Logger jboosLog = org.jboss.logging.Logger.getLogger(Jdk_Log1. class);
//
//
//    public static void main(String[] args) throws InterruptedException {
//
//
//        julLog.info("julLog日志");
//        System.out.println(julLog.getClass().getName());
//        Thread.sleep(1000);
//
//        log4j2Log.info("log4j2Log日志");
//        System.out.println(log4j2Log.getClass().getName());
//        Thread.sleep(1000);
//
//        jboosLog.info("jboosLog日志");
//        System.out.println(jboosLog.getClass().getName());
//        Thread.sleep(1000);
//
//    }
//}
